草庐IT

c++ - Qt Release build 给出 MSVC++ Runtime Library Error

全部标签

c++ - msvc2010 - 如何建立一个干净的输出目录?

我在使用visualstudio2010时遇到问题,因为它现在在构建时使我的输出目录充满.pdb和其他文件。在以前版本的msvc中,我将中间目录设置为输出目录以外的其他目录,并在那里生成了.pdb文件(以及其他所有内容):$(IntDir)/$(ProjectName).pdb说。现在,在新版本的msvc中,它似乎仍然在那里构建.pdb,但出于某种我不知道的原因,还在我的输出目录中放置了一个.pdb文件(我不想要)。如果我设置增量链接,.ilk文件似乎也会发生同样的事情,但这不太重要,因为我可以禁用增量链接,但.pdb对于调试程序是必不可少的。我认为这是msvc中的一个错误,但我只在c

c++ - 如何为 C++ (MSVC 2008) 解决方案创建语言附属 DLL?

我们最终要本地化我们的应用程序,需要为字符串表创建附属DLL(从源代码中取出硬编码字符串需要一个月的时间)。我一直在查看MSDN和其他帮助,但我对实际构建语言DLL的机制感到很困惑。我们在EXE本身中有英文资源。根据我的理解,我们现在需要创建名为MyAPPXXX.dll的DLL项目。我不确定我们应该怎么做。是否只有一个资源/rc文件和文件中的不同部分,或者是否为每种语言复制了rc文件并替换了翻译?我在尝试按照我在其他地方看到的有关如何执行此操作的说明时迷路了。是否每种语言都需要一个DLL,或者我们是否有具有多种配置的同一个项目-如果是后者,如何完成?这是我读过的有关此内容的页面列表-但

有人可以解释此处给出的Java代码吗?

代码-Job.SetOutputKeyClass(text.class);将param作为text.class传递是什么意思?乳清.Class是必需的。看答案Text.class是字面上的,让您参考java.lang.Class对象。这与您这样做大致相同Class.forName("yourpackage.Text")

c++ - 在 QT 中链接 libCurl 给出了一个巨大的错误列表 C++

我试图将QT中的libCurl链接到Windows7x64上的C++程序,但是当我尝试链接libcurldll.a时,我得到了一个巨大的错误列表。我尝试使用GCCg++-LC:\MinGW\lib-lcurldll编译一个类似的函数,编译没有错误。我在QT和GCC中使用以下代码。voidMainWindow::on_pushButton_2_clicked(){CURL*curl;curl=curl_easy_init();curl_easy_setopt(curl,CURLOPT_URL,"http://google.com");curl_easy_perform(curl);cur

c++ - 当数组大小大于 1,000,000 时,Cuda 未给出正确答案

我已经编写了一个简单的求和代码,在我将数组大小增加到100万之前它似乎工作得很好,这可能是问题所在。#defineBLOCK_SIZE128#defineARRAY_SIZE10000cudaError_taddWithCuda(constlong*input,long*output,inttotalBlocks,size_tsize);__global__voidsumKernel(constlong*input,long*output){inttid=threadIdx.x;intbid=blockDim.x*blockIdx.x;__shared__longdata[BLOCK_

c++ - GCC 向依赖默认构造函数的模板化类中的静态数据成员给出 "undefined reference"错误

我遇到了类似的问题:"undefinedreference"tostaticfieldtemplatespecialization但他们使用的解决方法对我不起作用。我有一个带有静态数据成员的CRTP类,其中之一是std::mutex。不幸的是,GCC(4.8.2)的链接器给我这个互斥锁的“undefinedreference”错误。Clang(3.4)没有。有解决方法吗?最初的问题(上面链接)在静态数据成员上调用了复制构造函数,迫使GCC发出一个符号,但是由于我的数据成员是std::mutex,所以这不是一个选项——复制构造函数被删除,并且有没有参数构造函数。我只是被冲洗了吗?我认为问

c++ - 使用 MSVC 编译的多线程应用程序在运行时失败

我已经实现了一个循环运行提供的函数的类。//Timer.h#include#include#includeclassTimer{public:Timer(conststd::chrono::millisecondsperiod,conststd::function&handler);~Timer();voidStart();voidStop();boolIsRunning()const;private:conststd::function&handler;conststd::chrono::millisecondsperiod;boolisRunning=false;mutablest

c++ - 这是 MSVC 中依赖名称解析的错误吗?

关于cppreference.com,以下代码作为解释相关名称解析的示例提供:#includevoidg(double){std::coutstructS{voidf()const{g(1);//"g"isanon-dependentname,boundnow}};voidg(int){std::couts;s.f();//callsg(double)}当前版本的VisualC++(19.0.23918.0)产生以下输出:g(int)g(int)这是标准允许的,还是MSVC中的错误? 最佳答案 “从属名称解析”在这里具有误导性。g是

c++ - 处理 MSVC 宏中的额外括号

在某些情况下,您需要(a)有一个宏,(b)在(c)语言不允许括号的情况下将其参数之一括起来。简单的例子:#defineMAKE_STRUCT(name,base)structname:base{}structX{};MAKE_STRUCT(Y,X);//okMAKE_STRUCT(Z,(X));//error这是一个错误,因为我们需要一个类型名称并且我们得到了(。ecatmur通过利用有other允许使用额外括号的部分语言:templatestructargument_type;templatestructargument_type{typedefUtype;};#defineMAKE

c++ - MSVC9.0 bug 或对虚拟继承的误解和 friend ?

考虑以下代码:classA{friendclassB;friendclassC;};classB:virtualprivateA{};classC:privateB{};intmain(){Cx;//OKdefaultconstructorgeneratedbycompilerCy=x;//compilererror:copy-constructorunavailableinCy=x;//compilererror:assignmentoperatorunavailableinC}MSVC9.0(VisualStudio2008的C++编译器)确实会生成默认构造函数,但无法为C生成复制